package com.gdawj.controleur;

import com.gdawj.ejb.EnvoiEmailTimerEJB;
import com.gdawj.ejb.WebmestreEJB;
import java.util.Date;
import java.util.Locale;
import javax.ejb.EJB;
import javax.faces.application.ViewHandler;
import javax.faces.bean.ManagedBean;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;

@ManagedBean
public class InternationalisationBean {

  private Locale locale;
  private String langue;

  @EJB
  private WebmestreEJB webmestreEJB;

  @EJB
  private EnvoiEmailTimerEJB envoiEmail;

  public void choixLangue(){

      // mise en forme de la langue
      int index=this.langue.indexOf("_");
      if(index>0)
      {
          String choixLangue=this.langue.substring(0,index);
          String pays=this.langue.substring(index+1);
          locale=new Locale(choixLangue,pays);
      }
      else
      {
          locale=new Locale(this.langue);
      }

     // changement dynamique de la langue
     UIViewRoot viewRoot=FacesContext.getCurrentInstance().getViewRoot();
     viewRoot.setLocale(locale);
     FacesContext.getCurrentInstance().getApplication().setDefaultLocale(locale);

     // retourner automatiquement sur la page appelante
     FacesContext context=FacesContext.getCurrentInstance();
     String viewId=context.getViewRoot().getViewId();
     ViewHandler handler=context.getApplication().getViewHandler();
     UIViewRoot root=handler.createView(context, viewId);
     root.setViewId(viewId);
     context.setViewRoot(root);
  }

    public String getLangue() {
        return langue;
    }

    public void setLangue(String langue) {
        this.langue = langue;
    }

    public Date getDateActuelle()
    {
        return new Date();
    }


    public String getWebmestre()
    {
        try {
            //Future<Integer> etat=envoiEmail.envoiEmail();
            //Integer valeurEtat=etat.get();
            //System.out.println("Etat : " + etat);
        } catch (Exception ex) {
            ex.printStackTrace();
        }

         //envoiEmail.EnvoiEmailTimerEJB();

         return webmestreEJB.getInfo();
    }


}

